﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Gurucore.Framework.DataAccess;

namespace Gurucore.DTOGenerator.DTO
{
	[MappedTable(TableName = "INFORMATION_SCHEMA.COLUMNS", AllowTablePrefix = false, Updatable = false)]
	public class Column : DTOBase
	{
		public const string TABLE_CATALOG = "TABLE_CATALOG";
		public const string TABLE_SCHEMA = "TABLE_SCHEMA";
		public const string TABLE_NAME = "TABLE_NAME";
		public const string COLUMN_NAME = "COLUMN_NAME";
		public const string DATA_TYPE = "DATA_TYPE";

		private string m_sTableCatalog;

		[MappedColumn(ColumnName = TABLE_CATALOG)]
		public virtual string TableCatalog
		{
			get { return m_sTableCatalog; }
			set { m_sTableCatalog = value; }
		}

		private string m_sTableSchema;

		[MappedColumn(ColumnName = TABLE_SCHEMA)]
		public virtual string TableSchema
		{
			get { return m_sTableSchema; }
			set { m_sTableSchema = value; }
		}

		private string m_sTableName;

		[MappedColumn(ColumnName = TABLE_NAME)]
		public virtual string TableName
		{
			get { return m_sTableName; }
			set { m_sTableName = value; }
		}

		private string m_sColumnName;

		[MappedColumn(ColumnName = COLUMN_NAME)]
		public virtual string ColumnName
		{
			get { return m_sColumnName; }
			set { m_sColumnName = value; }
		}

		private string m_sDataType;

		[MappedColumn(ColumnName = DATA_TYPE)]
		public virtual string DataType
		{
			get { return m_sDataType; }
			set { m_sDataType = value; }
		}
	}
}
